In a data storage system, some or all objects of a source file system may be replicated to another file system (referred to herein as the “target file system”), for example, to allow for archiving, backup, maintenance, or disaster recovery. Unlike mirroring, where data is stored in two separate locations, replication generally involves the creation of a copy of a source object in the target file system, wherein the target object may be stored in a manner that is quite different from the manner in which the source object is stored. For example, the source object may be stored in non-contiguous blocks while the target object may be stored in contiguous blocks because all blocks for the target object may be allocated at one time whereas the blocks for the source object may have been allocated over an extended period of time and hence may have been allocated from different areas of storage.
Generally speaking, file system replication can be performed at the file level or at the object (sub-file) level. File-level and object-level replication is discussed generally in Hitachi NAS Platform Software: BlueArc® JetMirror datasheet available from Hitachi Data Systems.
Clone files are often handled like any other regular files during an object-based replication and therefore are replicated as a deep copy on the target file system. Such deep copying of the clone files results in creating clone files that do not share any data blocks with their snapshot-files, thus increasing their storage cost on the target file system.